#pragma once

#include "Point3D.h"


//#include <math.h>

namespace cm
{
class MATHLIB_API CLine3D // : public CShapeBase
	
{
public:

	CPoint3D p1,p2;

	CLine3D(void);
	
	CLine3D (const CPoint3D &p_1, const CPoint3D &p_2);

	CLine3D (const double &x1, const double &y1, const double &z1, const double &x2, const double &y2, const double &z2);
	
	~CLine3D(void);

	void set (const CPoint3D &p_1, const CPoint3D &p_2);
	
	void set (const double &x1, const double &y1, const double &z1, const double &x2, const double &y2, const double &z2);
	
	double lenght ();

	//// *1          *3                     *2
	static bool ThePointBelongsToALine (CPoint3D *p ,CPoint3D *_p1,CPoint3D *_p2);
private:
	//std::wstring Name;
	bool m_bDirty;
};

};
typedef cm::CLine3D CCAM3DLine;